1. Field of the Invention
The present invention relates to a system for preventing unauthorized copying of software and a program for preventing unauthorized copying of software.
2. Description of the Related Art
One conventional system for preventing unauthorized duplication of software is disclosed in Japanese laid-open patent publication No. 8-6784. FIG. 1 of the accompanying drawings shows the disclosed system for preventing unauthorized duplication of software.
As shown in FIG. 1, a management apparatus 420 sends a product 413 of software/writing which has been processed by a locking/destruction processing means 412 and a key to a user's terminal 410 via a communication link. In the terminal 410, the purchased software or writing is unlocked by an unlocking/reuse processing means 415 using the key, and used. When the expiration date of the software or writing comes, a use control means 411 controls the locking/destruction processing means 412 to automatically lock or destroy the software or writing, which then stops its operation. The user operates a continued use request processing means 414 to request the management apparatus 420 to update user information. In the management apparatus 420, a qualification examining means 422 refers to user information managing means 421 to examine the qualification of the user. If the qualification of the user is accepted, then a right-to-use updating means 423 updates user information in a user information managing means 421, and sends a new software key to the terminal 410. The user receives the new key or product, unlocks the software or writing with the unlocking/reuse processing means 415, and continues to use the purchased software or writing until a next expiration date. The above process is repeated insofar as the user wants to use the software or writing continuously.
However, the above conventional system for preventing unauthorized duplication of software suffers the following problems:
The first problem is that the unauthorized software copying prevention mechanism can be invalidated by falsifying the program. It is the widespread general practice to analyze and falsify the mechanism which determines whether the program is copied or its expiration date has been reached while the program is being executed, and changes its operation depending on the determined result. The conventional system for preventing unauthorized duplication of software has not been protected against such unfair practice.
The second problem is that software-implemented self-destruction of the program can easily be nullified. Specifically, an unauthorized user can nullify such software-implemented self-destruction of the program by copying the program to another medium before the program is self-destroyed, and restoring the program based on the copy after the self-destruction mechanism has been activated.
The third problem is that the conventional system for preventing unauthorized duplication of software is not convenient enough for the user because each time the expiration date comes, the user is required to connect the communication link and receive a new key.